home *** CD-ROM | disk | FTP | other *** search
/ MacWorld: Complete Mac Interactive / Macworld Complete Mac Interactive CD)(1994).iso / The Best of BMUG / Utilities / Text and Speech / Alpha.5.76 / Tcl / SystemCode / filesetMenu.tcl < prev    next >
Text File  |  1994-03-08  |  745b  |  30 lines

  1.  
  2. #================================================================================
  3. # Create a heirarchical fileset menu that allows you 
  4. # to open any file in any fileset.
  5. #
  6. # Doesn't bother trying to specialcase names or pathnames that have
  7. # non-alphanumeric characters in them.
  8.  
  9. proc filesetProc {menu item} {
  10.     global fileSets
  11.     if {[set match [lsearch $fileSets($menu) *:$item]] >= 0} {
  12.         edit [lindex $fileSets($menu) $match]
  13.     }
  14. }    
  15.  
  16. proc makeFilesetMenu {} {
  17.     global fileSets
  18.     foreach f [lsort [array names fileSets]] {
  19.         if {$f == "Help"} continue
  20.         set menu {}
  21.         foreach m $fileSets($f) {
  22.             lappend menu [file tail $m]
  23.         }
  24.         lappend sets [list menu -m -n $f -p filesetProc $menu]
  25.     }
  26.     menu -n files -p filesetProc $sets
  27. }
  28.  
  29. makeFilesetMenu
  30.